package com.bsj.travel.device.service;

import com.bsj.travel.def.common.DTO.web.category.CategoryDTO;
import com.bsj.travel.def.common.DTO.web.category.CategorySearchDTO;
import com.bsj.travel.def.common.VO.CategoryVO;
import com.bsj.travel.def.global.JsonResult;

import java.util.List;

/***
 * @description CategoryService
 * @author LiJiaXin
 * @version 1.0.0
 * @time 2024/1/22 14:47
 **/
public interface CategoryService {

    /**
     * 添加品类
     *
     * @param categoryDTO
     * @return com.bsj.travel.def.global.JsonResult
     * @author ljx
     * @time 2024/1/22 14:50
     */
    JsonResult addCategory(CategoryDTO categoryDTO);

    /**
     * 删除品类
     *
     * @param categoryId
     * @return com.bsj.travel.def.global.JsonResult
     * @author ljx
     * @time 2024/1/22 14:51
     */
    JsonResult deleteCategory(Long categoryId);

    /**
     * 修改品类
     *
     * @param categoryDTO
     * @return com.bsj.travel.def.global.JsonResult
     * @author ljx
     * @time 2024/1/22 14:51
     */
    JsonResult updateCategory(CategoryDTO categoryDTO);

    /**
     * 根据品类id获取品类信息
     *
     * @param categoryId
     * @return com.bsj.travel.def.common.VO.CategoryVO
     * @author ljx
     * @time 2024/1/22 14:51
     */
    CategoryVO getCategoryInfoById(Long categoryId);

    /**
     * 品类分页
     *
     * @param categorySearchDTO
     * @return com.bsj.travel.def.global.JsonResult<java.util.List < com.bsj.travel.def.common.VO.CategoryVO>>
     * @author ljx
     * @time 2024/1/22 14:52
     */
    JsonResult<List<CategoryVO>> pageCategory(CategorySearchDTO categorySearchDTO);
}
